{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### 1. 视觉系统都有哪些构成要素? 以机械臂视觉控制系统为例，说明视觉系统的构成要素。 \n",
    "#### 视觉系统的构成要素为:\n",
    "(1) 照明设备: 光源<br/>\n",
    "(2) 成像设备: 摄像机<br/>\n",
    "(3) 处理设备：主机<br/>\n",
    "(4) 算法软件: 视觉处理软件系统<br/>\n",
    "\n",
    "#### 根据论文1中描述的机械臂视觉控制系统，分析其构成要素为:\n",
    "(1) 照明设备: 自然光照射到物体上，产生光信号；<br/>\n",
    "(2) 成像设备: 摄像机捕捉物体身上的光信号输入，进行成像过程；<br/>\n",
    "(3) 处理设备: 主机处理器处理摄像机对视野内物体的成像，进行三维重建，进而识别空间模型；<br/>\n",
    "(4) 算法软件：基于空间视觉的控制系统，用来控制机械臂的运动。<br/><br/>\n",
    "\n",
    "论文1：CRAVES: Controlling Robotic Arm with a Vision-based, Economic System, CVPR 2019<br/><br/>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. 尝试从模仿人类视觉处理流程的角度，阐述对本课程内容组织的理解。\n",
    "### 进一步在网上搜索，找到自己认为学习过程中最值得参考的1-2本书(不要太厚)\n",
    "#### 人类视觉处理流程是：\n",
    "(1) 人眼接受图像，并将图像传至大脑皮层的视觉中枢(**图像采集**);<br/>\n",
    "(2) 枕-颞通路由V1-V2-V3-V4-颞下回(IT)区，实现物体方位、长度、宽度、空间频率和色调等信息的加工，<br/>\n",
    "因而又称物体知觉，用来认知\"**画面中有什么**\"(**图像预处理+特征提取+边缘检测+图像分割**)；<br/>\n",
    "(3) 由V1-V2-V3-颞上沟尾侧后沿和颞中回(MT)区，由MT区对物体在空间中的相对位置以及物体运动信息进<br/>\n",
    "行加工，用来认知\"**目标在什么位置**\"(**位姿估计+运动估计+相机标定**)；<br/>\n",
    "(4) MT区将物体空间知觉和物体运动信息加工后，继续传向颞上沟内沿(MST)区和颞上沟底区(FST)，对更大范围的物体空间关系和相对运动产生知觉，且将三维空间关系转换为二维图像进行信息压缩(**三维视觉**)；<br/>\n",
    "(5) MST、FST区信息继续传向顶叶(物体运动知觉与空间知觉的高级中枢)，由多模式细胞形成复杂的综合知觉，用来认知\"**目标在干什么和目标之间有什么关系**\")。<br/><br/>\n",
    "\n",
    "#### 参考书籍:\n",
    "【基础类】冈萨雷斯著，阮秋琦译，数字图像处理(第3版)，2017<br/>\n",
    "【综合类】l R. Szeliski著，艾海舟等译，计算机视觉——算法与应用，清华大学出版社，2012<br/>\n",
    "【几何类】《计算机视觉： 计算理论与算法基础》<br/>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. 什么是光通量和辐照度？说明几个常见光源的光通量，以及几个常见照明环境的辐照度。\n",
    "#### 光通量和辐照度的定义\n",
    "**光通量**是人眼所能感受到的**辐射功率**，它等于**单位时间**内某一波段的**辐射能量**和该波段的**相对视见率**的乘积；其单位为**流明**(lm),1流明=0.00146瓦<br/>\n",
    "**辐照度**是指投射到某一个平表面上的辐射通量密度，即**单位时间**内到达一平表面上**单位面积**上的**辐射能量**；其单位为**勒克斯**(lux), 1勒克斯=1流明/平方米<br/>\n",
    "\n",
    "#### 常见光源的光通量\n",
    "光源|光通量\n",
    "-|-\n",
    "太阳| 3.566*10^28 lm\n",
    "烛光| 12.56 lm\n",
    "白炽灯/卤钨灯| 12\\~24 lm/W\n",
    "荧光灯和气体放电灯| 50\\~120 lm/W\n",
    "LED灯| 110 lm/W\n",
    "\n",
    "#### 常见照明环境的辐照度\n",
    "照明环境|辐照度\n",
    "-|-\n",
    "黑夜|0.001\\~0.02 lux\n",
    "阴天室内|5\\~50 lux\n",
    "晴天室内|100\\~1000 lux\n",
    "晴天阳光直射|100000 lux\n",
    "适合阅读|300\\~750 lux\n",
    "家用摄像机标准照度|1400 lux"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. 结合颜色空间示意图，简述HSI颜色空间中各通道的物理意义，并结合图像实例说明。 \n",
    "HSI通道分为H(色调),S(饱和度)和I(亮度),其中H用来反映颜色的波长，S表示颜色的深浅程度，I表示光的强弱程度，是一个主观的概念；<br/>\n",
    "HSI颜色空间常用双圆锥表示，其中<br/>\n",
    "+ 长轴用来表示亮度I，最下方亮度最弱，为黑色，最上方亮度最强，为白色；<br/>\n",
    "+ 圆周表示H，不同弧度代表不同的颜色波长；<br/>\n",
    "+ 所在点距圆心的距离表示S，距离越大表示饱和度越高。<br/>\n",
    "HSI颜色空间主要用来反映人类视觉系统感知彩色的方式，这种彩色描述方式对人类来说是直观的、自然的。<br/><br/>\n",
    "\n",
    "由大猩猩图像实例可以看出:<br/>\n",
    "+ 原图中鼻子的红色和眼睛的橙色由于波长接近，H分量值比较接近，因而在H通道图中这两部分的深浅也比较接近。其他色调也满足这个规律。可见H通道图反映了原图各个色彩波长的分布；<br/>\n",
    "+ 原图中鼻子的红色和眼睛的橙色比较鲜艳(颜色纯,被白光稀释的程度低)，对应的S分量值较大，因而在S通道图中鼻子和眼睛部分像素色值较大，人眼感知的直观效果就是越接近白色；反之，不那么鲜艳的部分，在S通道图中的像素色值较小，人眼感知的直观效果就是越接近灰黑色；<br/>\n",
    "+ 原图中鼻子的红色和鼻翼的蓝色看上去比较明亮,对应的I分量值较大，因而在I通道图中该部分像素的色值较大，人眼感知的直观效果就是较为刺眼；反之原图中两腮部分看上去比较暗沉，因而在I通道图中该部分像素的色值较小，人眼感知的直观效果就是较为柔和<br/>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5. 说明彩色图像传感器及γ校正的基本原理。 \n",
    "#### 彩色图像传感器的基本原理\n",
    "由多层薄膜构成:\n",
    "+ 最接近光源的传感器层，仍然采用CCD图像传感器的做法，由多个小格子组成，每个小格子只存一个灰度信息；\n",
    "+ 第二层是一层很薄的薄膜，用光刻的方法，刻出多个单色格子，每个格子只允许一种颜色通过, 由于人眼对于绿色最为敏感，所以绿色格子最多，并通过Bayer格式排列，大约占50%；\n",
    "+ 然后由多个单色的格子构成一个彩色的像素点，通过RGB颜色模型，来展现不同的彩色像素，在opencv图像表示中，每个彩色像素由3个字节构成，每个字节表示RGB中一个分量值(0\\~255)；\n",
    "+ 第三层也是一层很薄的薄膜，用光刻的方法，刻出很多微小的透镜，作用是提高光的转换效率；\n",
    "\n",
    "#### γ校正的基本原理\n",
    "+ 出现的原因: 人眼的视觉感受和照明值的关系是非线性的，为了显示设备最终显示的图像符合人类的视觉特征，所以在图像采集、存储和显示的过程中，需要经过γ校正的处理。\n",
    "+ 基本原理:\n",
    "\t+ 传感器采集到敏感影像\n",
    "\t+ 通过一次γ校正(γ=1/2.2),将校正后的结果图像存储起来;\n",
    "\t+ 通过一次γ校正(γ=2.2)，将存储的图像经过校正后传给显示设备;\n",
    "\t+ 显示设备显示收到的图像信息。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
